package com.ourteam.product.model.dao;

import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;

import org.apache.commons.lang.StringUtils;

import java.util.Arrays;
import java.util.List;
import java.util.Map;


/**
 * Template Name : DAO查询对象
 * Template Version : 1
 * Template Last Modfiy Date : Sat Aug 19 10:06:32 IRKT 2017
 * Auto Generate Date : 2017-11-17 11:01:07
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public class ProductModelServiceParameterDAOQueryBean extends BaseQueryBean {
    public ProductModelServiceParameterDAOQueryBean() {
        super();
    }

    public ProductModelServiceParameterDAOQueryBean(BaseQueryBean aQueryBean) {
        super(aQueryBean);
    }

    public ProductModelServiceParameterDAOQueryBean(BaseQueryBean aQueryBean,
        Map tableReplaceMap) {
        super(aQueryBean, tableReplaceMap);
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();

        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }

        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        return new Criteria(this);
    }

    public void addIdSelectProperty() {
        addIdSelectProperty("id");
    }

    public void addIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.Id, aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.Id, "id");
        }
    }

    public void addServiceIdSelectProperty() {
        addServiceIdSelectProperty("serviceId");
    }

    public void addServiceIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.ServiceId, aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.ServiceId,
                "serviceId");
        }
    }

    public void addParameterCodeSelectProperty() {
        addParameterCodeSelectProperty("parameterCode");
    }

    public void addParameterCodeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.ParameterCode,
                aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.ParameterCode,
                "parameterCode");
        }
    }

    public void addParameterNameSelectProperty() {
        addParameterNameSelectProperty("parameterName");
    }

    public void addParameterNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.ParameterName,
                aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.ParameterName,
                "parameterName");
        }
    }

    public void addParameterTypeSelectProperty() {
        addParameterTypeSelectProperty("parameterType");
    }

    public void addParameterTypeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.ParameterType,
                aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.ParameterType,
                "parameterType");
        }
    }

    public void addDataTypeIdSelectProperty() {
        addDataTypeIdSelectProperty("dataTypeId");
    }

    public void addDataTypeIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.DataTypeId,
                aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.DataTypeId,
                "dataTypeId");
        }
    }

    public void addDataCheckSelectProperty() {
        addDataCheckSelectProperty("dataCheck");
    }

    public void addDataCheckSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.DataCheck, aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.DataCheck,
                "dataCheck");
        }
    }

    public void addIsArraySelectProperty() {
        addIsArraySelectProperty("isArray");
    }

    public void addIsArraySelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.IsArray, aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.IsArray,
                "isArray");
        }
    }

    public void addSortIndexSelectProperty() {
        addSortIndexSelectProperty("sortIndex");
    }

    public void addSortIndexSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.SortIndex, aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.SortIndex,
                "sortIndex");
        }
    }

    public void addStatusSelectProperty() {
        addStatusSelectProperty("status");
    }

    public void addStatusSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.Status, aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.Status, "status");
        }
    }

    public void addRemarksSelectProperty() {
        addRemarksSelectProperty("remarks");
    }

    public void addRemarksSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.Remarks, aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.Remarks,
                "remarks");
        }
    }

    public void addDataTypeSelectProperty() {
        addDataTypeSelectProperty("dataType");
    }

    public void addDataTypeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceParameterDAO.DataType, aAlias);
        } else {
            addSelectProperty(IProductModelServiceParameterDAO.DataType,
                "dataType");
        }
    }

    public void addAllSelectProperties() {
        addIdSelectProperty();

        addServiceIdSelectProperty();

        addParameterCodeSelectProperty();

        addParameterNameSelectProperty();

        addParameterTypeSelectProperty();

        addDataTypeIdSelectProperty();

        addDataCheckSelectProperty();

        addIsArraySelectProperty();

        addSortIndexSelectProperty();

        addStatusSelectProperty();

        addRemarksSelectProperty();

        addDataTypeSelectProperty();
    }

    public static class Criteria extends BaseWhereCriterion<ProductModelServiceParameterDAOQueryBean> {
        protected Criteria(
            ProductModelServiceParameterDAOQueryBean aParentObject) {
            super(aParentObject);
        }

        public Criteria andIdIsNull() {
            addCriterion(IProductModelServiceParameterDAO.Id + " is null");

            return this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.Id + " is not null");

            return this;
        }

        public Criteria andIdIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.Id +
                " is not null AND " + IProductModelServiceParameterDAO.Id +
                " <> ''");

            return this;
        }

        public Criteria andIdIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.Id +
                " is null OR " + IProductModelServiceParameterDAO.Id +
                " = '')");

            return this;
        }

        public Criteria andIdEqualTo(long value) {
            return andIdEqualTo(Long.valueOf(value));
        }

        public Criteria andIdEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.Id + " = ", value,
                "id");

            return this;
        }

        public Criteria andIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Id);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Id + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotEqualTo(long value) {
            return andIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.Id + " <>", value,
                "id");

            return this;
        }

        public Criteria andIdNotEqualToOrIsNull(long value) {
            return andIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.Id + " is null OR " +
                IProductModelServiceParameterDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Id);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Id + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThan(long value) {
            return andIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.Id + " >", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Id);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Id + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(long value) {
            return andIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.Id + " >=", value,
                "id");

            return this;
        }

        public Criteria andIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Id);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Id + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThan(long value) {
            return andIdLessThan(Long.valueOf(value));
        }

        public Criteria andIdLessThan(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.Id + " <", value, "id");

            return this;
        }

        public Criteria andIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Id);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Id + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(long value) {
            return andIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.Id + " <=", value,
                "id");

            return this;
        }

        public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Id);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Id + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIdIn(long[] values) {
            if (values.length == 1) {
                return andIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.Id + " in",
                    values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.Id + " not in",
                    values, "id");

                return this;
            }
        }

        public Criteria andIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.Id + " in",
                    values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.Id + " not in",
                    values, "id");

                return this;
            }
        }

        public Criteria andIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.Id + " in",
                    Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.Id + " not in",
                    Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Id + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Id + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIdBetween(long value1, long value2) {
            addCriterion(IProductModelServiceParameterDAO.Id + " between",
                value1, value2, "id");

            return this;
        }

        public Criteria andIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceParameterDAO.Id + " between",
                value1, value2, "id");

            return this;
        }

        public Criteria andIdNotBetween(long value1, long value2) {
            addCriterion(IProductModelServiceParameterDAO.Id + " not between",
                value1, value2, "id");

            return this;
        }

        public Criteria andIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceParameterDAO.Id + " not between",
                value1, value2, "id");

            return this;
        }

        public Criteria andServiceIdIsNull() {
            addCriterion(IProductModelServiceParameterDAO.ServiceId +
                " is null");

            return this;
        }

        public Criteria andServiceIdIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.ServiceId +
                " is not null");

            return this;
        }

        public Criteria andServiceIdIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.ServiceId +
                " is not null AND " +
                IProductModelServiceParameterDAO.ServiceId + " <> ''");

            return this;
        }

        public Criteria andServiceIdIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.ServiceId +
                " is null OR " + IProductModelServiceParameterDAO.ServiceId +
                " = '')");

            return this;
        }

        public Criteria andServiceIdEqualTo(long value) {
            return andServiceIdEqualTo(Long.valueOf(value));
        }

        public Criteria andServiceIdEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " = ",
                value, "serviceId");

            return this;
        }

        public Criteria andServiceIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ServiceId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceIdNotEqualTo(long value) {
            return andServiceIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andServiceIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " <>",
                value, "serviceId");

            return this;
        }

        public Criteria andServiceIdNotEqualToOrIsNull(long value) {
            return andServiceIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andServiceIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId +
                " is null OR " + IProductModelServiceParameterDAO.ServiceId +
                " <>", value, "serviceId");

            return this;
        }

        public Criteria andServiceIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ServiceId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceIdGreaterThan(long value) {
            return andServiceIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andServiceIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " >",
                value, "serviceId");

            return this;
        }

        public Criteria andServiceIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ServiceId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceIdGreaterThanOrEqualTo(long value) {
            return andServiceIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andServiceIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " >=",
                value, "serviceId");

            return this;
        }

        public Criteria andServiceIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ServiceId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceIdLessThan(long value) {
            return andServiceIdLessThan(Long.valueOf(value));
        }

        public Criteria andServiceIdLessThan(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " <",
                value, "serviceId");

            return this;
        }

        public Criteria andServiceIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ServiceId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceIdLessThanOrEqualTo(long value) {
            return andServiceIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andServiceIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " <=",
                value, "serviceId");

            return this;
        }

        public Criteria andServiceIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ServiceId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceIdIn(long[] values) {
            if (values.length == 1) {
                return andServiceIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ServiceId +
                    " in", values, "serviceId");

                return this;
            }
        }

        public Criteria andServiceIdNotIn(long[] values) {
            if (values.length == 1) {
                return andServiceIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ServiceId +
                    " not in", values, "serviceId");

                return this;
            }
        }

        public Criteria andServiceIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andServiceIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.ServiceId +
                    " in", values, "serviceId");

                return this;
            }
        }

        public Criteria andServiceIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andServiceIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.ServiceId +
                    " not in", values, "serviceId");

                return this;
            }
        }

        public Criteria andServiceIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andServiceIdEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ServiceId +
                    " in", Arrays.asList(values), "serviceId");

                return this;
            }
        }

        public Criteria andServiceIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andServiceIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ServiceId +
                    " not in", Arrays.asList(values), "serviceId");

                return this;
            }
        }

        public Criteria andServiceIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId +
                " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andServiceIdBetween(long value1, long value2) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId +
                " between", value1, value2, "serviceId");

            return this;
        }

        public Criteria andServiceIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId +
                " between", value1, value2, "serviceId");

            return this;
        }

        public Criteria andServiceIdNotBetween(long value1, long value2) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId +
                " not between", value1, value2, "serviceId");

            return this;
        }

        public Criteria andServiceIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceParameterDAO.ServiceId +
                " not between", value1, value2, "serviceId");

            return this;
        }

        public Criteria andParameterCodeIsNull() {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " is null");

            return this;
        }

        public Criteria andParameterCodeIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " is not null");

            return this;
        }

        public Criteria andParameterCodeIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " is not null AND " +
                IProductModelServiceParameterDAO.ParameterCode + " <> ''");

            return this;
        }

        public Criteria andParameterCodeIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.ParameterCode +
                " is null OR " +
                IProductModelServiceParameterDAO.ParameterCode + " = '')");

            return this;
        }

        public Criteria andParameterCodeEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " = ", value, "parameterCode");

            return this;
        }

        public Criteria andParameterCodeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterCode);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterCodeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterCodeNotEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " <>", value, "parameterCode");

            return this;
        }

        public Criteria andParameterCodeNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " is null OR " +
                IProductModelServiceParameterDAO.ParameterCode + " <>", value,
                "parameterCode");

            return this;
        }

        public Criteria andParameterCodeNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterCode);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterCodeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterCodeGreaterThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode + " >",
                value, "parameterCode");

            return this;
        }

        public Criteria andParameterCodeGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterCode);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterCodeGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterCodeGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " >=", value, "parameterCode");

            return this;
        }

        public Criteria andParameterCodeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterCode);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterCodeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterCodeLessThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode + " <",
                value, "parameterCode");

            return this;
        }

        public Criteria andParameterCodeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterCode);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterCodeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterCodeLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " <=", value, "parameterCode");

            return this;
        }

        public Criteria andParameterCodeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterCode);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterCodeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterCodeLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " like", buffer.toString(), "parameterCode");

            return this;
        }

        public Criteria andParameterCodeNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " not like", buffer.toString(), "parameterCode");

            return this;
        }

        public Criteria andParameterCodeIn(List<String> values) {
            if (values.size() == 1) {
                return andParameterCodeEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                    " in", values, "parameterCode");

                return this;
            }
        }

        public Criteria andParameterCodeNotIn(List<String> values) {
            if (values.size() == 1) {
                return andParameterCodeNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                    " not in", values, "parameterCode");

                return this;
            }
        }

        public Criteria andParameterCodeIn(String[] values) {
            if (values.length == 1) {
                return andParameterCodeEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                    " in", Arrays.asList(values), "parameterCode");

                return this;
            }
        }

        public Criteria andParameterCodeNotIn(String[] values) {
            if (values.length == 1) {
                return andParameterCodeNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                    " not in", Arrays.asList(values), "parameterCode");

                return this;
            }
        }

        public Criteria andParameterCodeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterCodeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterCodeBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " between", value1, value2, "parameterCode");

            return this;
        }

        public Criteria andParameterCodeNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.ParameterCode +
                " not between", value1, value2, "parameterCode");

            return this;
        }

        public Criteria andParameterNameIsNull() {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " is null");

            return this;
        }

        public Criteria andParameterNameIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " is not null");

            return this;
        }

        public Criteria andParameterNameIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " is not null AND " +
                IProductModelServiceParameterDAO.ParameterName + " <> ''");

            return this;
        }

        public Criteria andParameterNameIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.ParameterName +
                " is null OR " +
                IProductModelServiceParameterDAO.ParameterName + " = '')");

            return this;
        }

        public Criteria andParameterNameEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " = ", value, "parameterName");

            return this;
        }

        public Criteria andParameterNameEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterNameNotEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " <>", value, "parameterName");

            return this;
        }

        public Criteria andParameterNameNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " is null OR " +
                IProductModelServiceParameterDAO.ParameterName + " <>", value,
                "parameterName");

            return this;
        }

        public Criteria andParameterNameNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterNameNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterNameGreaterThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName + " >",
                value, "parameterName");

            return this;
        }

        public Criteria andParameterNameGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterNameGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterNameGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " >=", value, "parameterName");

            return this;
        }

        public Criteria andParameterNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterNameLessThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName + " <",
                value, "parameterName");

            return this;
        }

        public Criteria andParameterNameLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterNameLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterNameLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " <=", value, "parameterName");

            return this;
        }

        public Criteria andParameterNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " like", buffer.toString(), "parameterName");

            return this;
        }

        public Criteria andParameterNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " not like", buffer.toString(), "parameterName");

            return this;
        }

        public Criteria andParameterNameIn(List<String> values) {
            if (values.size() == 1) {
                return andParameterNameEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterName +
                    " in", values, "parameterName");

                return this;
            }
        }

        public Criteria andParameterNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andParameterNameNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterName +
                    " not in", values, "parameterName");

                return this;
            }
        }

        public Criteria andParameterNameIn(String[] values) {
            if (values.length == 1) {
                return andParameterNameEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterName +
                    " in", Arrays.asList(values), "parameterName");

                return this;
            }
        }

        public Criteria andParameterNameNotIn(String[] values) {
            if (values.length == 1) {
                return andParameterNameNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterName +
                    " not in", Arrays.asList(values), "parameterName");

                return this;
            }
        }

        public Criteria andParameterNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterNameBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " between", value1, value2, "parameterName");

            return this;
        }

        public Criteria andParameterNameNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.ParameterName +
                " not between", value1, value2, "parameterName");

            return this;
        }

        public Criteria andParameterTypeIsNull() {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " is null");

            return this;
        }

        public Criteria andParameterTypeIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " is not null");

            return this;
        }

        public Criteria andParameterTypeIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " is not null AND " +
                IProductModelServiceParameterDAO.ParameterType + " <> ''");

            return this;
        }

        public Criteria andParameterTypeIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.ParameterType +
                " is null OR " +
                IProductModelServiceParameterDAO.ParameterType + " = '')");

            return this;
        }

        public Criteria andParameterTypeEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " = ", value, "parameterType");

            return this;
        }

        public Criteria andParameterTypeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterType);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterTypeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterTypeNotEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " <>", value, "parameterType");

            return this;
        }

        public Criteria andParameterTypeNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " is null OR " +
                IProductModelServiceParameterDAO.ParameterType + " <>", value,
                "parameterType");

            return this;
        }

        public Criteria andParameterTypeNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterType);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterTypeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterTypeGreaterThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType + " >",
                value, "parameterType");

            return this;
        }

        public Criteria andParameterTypeGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterType);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterTypeGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterTypeGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " >=", value, "parameterType");

            return this;
        }

        public Criteria andParameterTypeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterType);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterTypeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterTypeLessThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType + " <",
                value, "parameterType");

            return this;
        }

        public Criteria andParameterTypeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterType);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterTypeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterTypeLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " <=", value, "parameterType");

            return this;
        }

        public Criteria andParameterTypeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.ParameterType);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParameterTypeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterTypeLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " like", buffer.toString(), "parameterType");

            return this;
        }

        public Criteria andParameterTypeNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " not like", buffer.toString(), "parameterType");

            return this;
        }

        public Criteria andParameterTypeIn(List<String> values) {
            if (values.size() == 1) {
                return andParameterTypeEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterType +
                    " in", values, "parameterType");

                return this;
            }
        }

        public Criteria andParameterTypeNotIn(List<String> values) {
            if (values.size() == 1) {
                return andParameterTypeNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterType +
                    " not in", values, "parameterType");

                return this;
            }
        }

        public Criteria andParameterTypeIn(String[] values) {
            if (values.length == 1) {
                return andParameterTypeEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterType +
                    " in", Arrays.asList(values), "parameterType");

                return this;
            }
        }

        public Criteria andParameterTypeNotIn(String[] values) {
            if (values.length == 1) {
                return andParameterTypeNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.ParameterType +
                    " not in", Arrays.asList(values), "parameterType");

                return this;
            }
        }

        public Criteria andParameterTypeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterTypeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andParameterTypeBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " between", value1, value2, "parameterType");

            return this;
        }

        public Criteria andParameterTypeNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.ParameterType +
                " not between", value1, value2, "parameterType");

            return this;
        }

        public Criteria andDataTypeIdIsNull() {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                " is null");

            return this;
        }

        public Criteria andDataTypeIdIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                " is not null");

            return this;
        }

        public Criteria andDataTypeIdIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                " is not null AND " +
                IProductModelServiceParameterDAO.DataTypeId + " <> ''");

            return this;
        }

        public Criteria andDataTypeIdIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.DataTypeId +
                " is null OR " + IProductModelServiceParameterDAO.DataTypeId +
                " = '')");

            return this;
        }

        public Criteria andDataTypeIdEqualTo(long value) {
            return andDataTypeIdEqualTo(Long.valueOf(value));
        }

        public Criteria andDataTypeIdEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " = ",
                value, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataTypeId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeIdNotEqualTo(long value) {
            return andDataTypeIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andDataTypeIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " <>",
                value, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdNotEqualToOrIsNull(long value) {
            return andDataTypeIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andDataTypeIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                " is null OR " + IProductModelServiceParameterDAO.DataTypeId +
                " <>", value, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataTypeId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeIdGreaterThan(long value) {
            return andDataTypeIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andDataTypeIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " >",
                value, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataTypeId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeIdGreaterThanOrEqualTo(long value) {
            return andDataTypeIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andDataTypeIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " >=",
                value, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataTypeId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeIdLessThan(long value) {
            return andDataTypeIdLessThan(Long.valueOf(value));
        }

        public Criteria andDataTypeIdLessThan(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " <",
                value, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataTypeId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeIdLessThanOrEqualTo(long value) {
            return andDataTypeIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andDataTypeIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " <=",
                value, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataTypeId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeIdIn(long[] values) {
            if (values.length == 1) {
                return andDataTypeIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                    " in", values, "dataTypeId");

                return this;
            }
        }

        public Criteria andDataTypeIdNotIn(long[] values) {
            if (values.length == 1) {
                return andDataTypeIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                    " not in", values, "dataTypeId");

                return this;
            }
        }

        public Criteria andDataTypeIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andDataTypeIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                    " in", values, "dataTypeId");

                return this;
            }
        }

        public Criteria andDataTypeIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andDataTypeIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                    " not in", values, "dataTypeId");

                return this;
            }
        }

        public Criteria andDataTypeIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andDataTypeIdEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                    " in", Arrays.asList(values), "dataTypeId");

                return this;
            }
        }

        public Criteria andDataTypeIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andDataTypeIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                    " not in", Arrays.asList(values), "dataTypeId");

                return this;
            }
        }

        public Criteria andDataTypeIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeIdBetween(long value1, long value2) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                " between", value1, value2, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                " between", value1, value2, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdNotBetween(long value1, long value2) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                " not between", value1, value2, "dataTypeId");

            return this;
        }

        public Criteria andDataTypeIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceParameterDAO.DataTypeId +
                " not between", value1, value2, "dataTypeId");

            return this;
        }

        public Criteria andDataCheckIsNull() {
            addCriterion(IProductModelServiceParameterDAO.DataCheck +
                " is null");

            return this;
        }

        public Criteria andDataCheckIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.DataCheck +
                " is not null");

            return this;
        }

        public Criteria andDataCheckIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.DataCheck +
                " is not null AND " +
                IProductModelServiceParameterDAO.DataCheck + " <> ''");

            return this;
        }

        public Criteria andDataCheckIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.DataCheck +
                " is null OR " + IProductModelServiceParameterDAO.DataCheck +
                " = '')");

            return this;
        }

        public Criteria andDataCheckEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " = ",
                value, "dataCheck");

            return this;
        }

        public Criteria andDataCheckEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataCheck);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataCheckEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataCheckNotEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " <>",
                value, "dataCheck");

            return this;
        }

        public Criteria andDataCheckNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck +
                " is null OR " + IProductModelServiceParameterDAO.DataCheck +
                " <>", value, "dataCheck");

            return this;
        }

        public Criteria andDataCheckNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataCheck);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataCheckNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataCheckGreaterThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " >",
                value, "dataCheck");

            return this;
        }

        public Criteria andDataCheckGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataCheck);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataCheckGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataCheckGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " >=",
                value, "dataCheck");

            return this;
        }

        public Criteria andDataCheckGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataCheck);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataCheckGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataCheckLessThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " <",
                value, "dataCheck");

            return this;
        }

        public Criteria andDataCheckLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataCheck);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataCheckLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataCheckLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " <=",
                value, "dataCheck");

            return this;
        }

        public Criteria andDataCheckLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataCheck);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataCheckLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataCheckLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " like",
                buffer.toString(), "dataCheck");

            return this;
        }

        public Criteria andDataCheckNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.DataCheck +
                " not like", buffer.toString(), "dataCheck");

            return this;
        }

        public Criteria andDataCheckIn(List<String> values) {
            if (values.size() == 1) {
                return andDataCheckEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataCheck +
                    " in", values, "dataCheck");

                return this;
            }
        }

        public Criteria andDataCheckNotIn(List<String> values) {
            if (values.size() == 1) {
                return andDataCheckNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataCheck +
                    " not in", values, "dataCheck");

                return this;
            }
        }

        public Criteria andDataCheckIn(String[] values) {
            if (values.length == 1) {
                return andDataCheckEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataCheck +
                    " in", Arrays.asList(values), "dataCheck");

                return this;
            }
        }

        public Criteria andDataCheckNotIn(String[] values) {
            if (values.length == 1) {
                return andDataCheckNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataCheck +
                    " not in", Arrays.asList(values), "dataCheck");

                return this;
            }
        }

        public Criteria andDataCheckIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataCheckNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck +
                " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andDataCheckBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck +
                " between", value1, value2, "dataCheck");

            return this;
        }

        public Criteria andDataCheckNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.DataCheck +
                " not between", value1, value2, "dataCheck");

            return this;
        }

        public Criteria andIsArrayIsNull() {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " is null");

            return this;
        }

        public Criteria andIsArrayIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.IsArray +
                " is not null");

            return this;
        }

        public Criteria andIsArrayIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.IsArray +
                " is not null AND " + IProductModelServiceParameterDAO.IsArray +
                " <> ''");

            return this;
        }

        public Criteria andIsArrayIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.IsArray +
                " is null OR " + IProductModelServiceParameterDAO.IsArray +
                " = '')");

            return this;
        }

        public Criteria andIsArrayEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " = ",
                value, "isArray");

            return this;
        }

        public Criteria andIsArrayEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.IsArray);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIsArrayEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIsArrayNotEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " <>",
                value, "isArray");

            return this;
        }

        public Criteria andIsArrayNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceParameterDAO.IsArray +
                " is null OR " + IProductModelServiceParameterDAO.IsArray +
                " <>", value, "isArray");

            return this;
        }

        public Criteria andIsArrayNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.IsArray);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIsArrayNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIsArrayGreaterThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " >",
                value, "isArray");

            return this;
        }

        public Criteria andIsArrayGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.IsArray);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIsArrayGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIsArrayGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " >=",
                value, "isArray");

            return this;
        }

        public Criteria andIsArrayGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.IsArray);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIsArrayGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIsArrayLessThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " <",
                value, "isArray");

            return this;
        }

        public Criteria andIsArrayLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.IsArray);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIsArrayLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIsArrayLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " <=",
                value, "isArray");

            return this;
        }

        public Criteria andIsArrayLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.IsArray);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIsArrayLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIsArrayLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.IsArray + " like",
                buffer.toString(), "isArray");

            return this;
        }

        public Criteria andIsArrayNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.IsArray +
                " not like", buffer.toString(), "isArray");

            return this;
        }

        public Criteria andIsArrayIn(List<String> values) {
            if (values.size() == 1) {
                return andIsArrayEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.IsArray + " in",
                    values, "isArray");

                return this;
            }
        }

        public Criteria andIsArrayNotIn(List<String> values) {
            if (values.size() == 1) {
                return andIsArrayNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.IsArray +
                    " not in", values, "isArray");

                return this;
            }
        }

        public Criteria andIsArrayIn(String[] values) {
            if (values.length == 1) {
                return andIsArrayEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.IsArray + " in",
                    Arrays.asList(values), "isArray");

                return this;
            }
        }

        public Criteria andIsArrayNotIn(String[] values) {
            if (values.length == 1) {
                return andIsArrayNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.IsArray +
                    " not in", Arrays.asList(values), "isArray");

                return this;
            }
        }

        public Criteria andIsArrayIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIsArrayNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIsArrayBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.IsArray + " between",
                value1, value2, "isArray");

            return this;
        }

        public Criteria andIsArrayNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.IsArray +
                " not between", value1, value2, "isArray");

            return this;
        }

        public Criteria andSortIndexIsNull() {
            addCriterion(IProductModelServiceParameterDAO.SortIndex +
                " is null");

            return this;
        }

        public Criteria andSortIndexIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.SortIndex +
                " is not null");

            return this;
        }

        public Criteria andSortIndexIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.SortIndex +
                " is not null AND " +
                IProductModelServiceParameterDAO.SortIndex + " <> ''");

            return this;
        }

        public Criteria andSortIndexIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.SortIndex +
                " is null OR " + IProductModelServiceParameterDAO.SortIndex +
                " = '')");

            return this;
        }

        public Criteria andSortIndexEqualTo(int value) {
            return andSortIndexEqualTo(Integer.valueOf(value));
        }

        public Criteria andSortIndexEqualTo(java.lang.Integer value) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " = ",
                value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.SortIndex);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexNotEqualTo(int value) {
            return andSortIndexNotEqualTo(Integer.valueOf(value));
        }

        public Criteria andSortIndexNotEqualTo(java.lang.Integer value) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " <>",
                value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexNotEqualToOrIsNull(int value) {
            return andSortIndexNotEqualToOrIsNull(Integer.valueOf(value));
        }

        public Criteria andSortIndexNotEqualToOrIsNull(java.lang.Integer value) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex +
                " is null OR " + IProductModelServiceParameterDAO.SortIndex +
                " <>", value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.SortIndex);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexGreaterThan(int value) {
            return andSortIndexGreaterThan(Integer.valueOf(value));
        }

        public Criteria andSortIndexGreaterThan(java.lang.Integer value) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " >",
                value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.SortIndex);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexGreaterThanOrEqualTo(int value) {
            return andSortIndexGreaterThanOrEqualTo(Integer.valueOf(value));
        }

        public Criteria andSortIndexGreaterThanOrEqualTo(
            java.lang.Integer value) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " >=",
                value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.SortIndex);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexLessThan(int value) {
            return andSortIndexLessThan(Integer.valueOf(value));
        }

        public Criteria andSortIndexLessThan(java.lang.Integer value) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " <",
                value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.SortIndex);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexLessThanOrEqualTo(int value) {
            return andSortIndexLessThanOrEqualTo(Integer.valueOf(value));
        }

        public Criteria andSortIndexLessThanOrEqualTo(java.lang.Integer value) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " <=",
                value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.SortIndex);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexIn(int[] values) {
            if (values.length == 1) {
                return andSortIndexEqualTo((java.lang.Integer) values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.SortIndex +
                    " in", values, "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexNotIn(int[] values) {
            if (values.length == 1) {
                return andSortIndexNotEqualTo((java.lang.Integer) values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.SortIndex +
                    " not in", values, "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexIn(List<java.lang.Integer> values) {
            if (values.size() == 1) {
                return andSortIndexEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.SortIndex +
                    " in", values, "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexNotIn(List<java.lang.Integer> values) {
            if (values.size() == 1) {
                return andSortIndexNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.SortIndex +
                    " not in", values, "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexIn(java.lang.Integer[] values) {
            if (values.length == 1) {
                return andSortIndexEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.SortIndex +
                    " in", Arrays.asList(values), "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexNotIn(java.lang.Integer[] values) {
            if (values.length == 1) {
                return andSortIndexNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.SortIndex +
                    " not in", Arrays.asList(values), "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex +
                " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexBetween(int value1, int value2) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex +
                " between", value1, value2, "sortIndex");

            return this;
        }

        public Criteria andSortIndexBetween(java.lang.Integer value1,
            java.lang.Integer value2) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex +
                " between", value1, value2, "sortIndex");

            return this;
        }

        public Criteria andSortIndexNotBetween(int value1, int value2) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex +
                " not between", value1, value2, "sortIndex");

            return this;
        }

        public Criteria andSortIndexNotBetween(java.lang.Integer value1,
            java.lang.Integer value2) {
            addCriterion(IProductModelServiceParameterDAO.SortIndex +
                " not between", value1, value2, "sortIndex");

            return this;
        }

        public Criteria andStatusIsNull() {
            addCriterion(IProductModelServiceParameterDAO.Status + " is null");

            return this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.Status +
                " is not null");

            return this;
        }

        public Criteria andStatusIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.Status +
                " is not null AND " + IProductModelServiceParameterDAO.Status +
                " <> ''");

            return this;
        }

        public Criteria andStatusIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.Status +
                " is null OR " + IProductModelServiceParameterDAO.Status +
                " = '')");

            return this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.Status + " = ",
                value, "status");

            return this;
        }

        public Criteria andStatusEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Status);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Status + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.Status + " <>",
                value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceParameterDAO.Status +
                " is null OR " + IProductModelServiceParameterDAO.Status +
                " <>", value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Status);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Status + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.Status + " >", value,
                "status");

            return this;
        }

        public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Status);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Status + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.Status + " >=",
                value, "status");

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Status);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Status + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.Status + " <", value,
                "status");

            return this;
        }

        public Criteria andStatusLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Status);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Status + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.Status + " <=",
                value, "status");

            return this;
        }

        public Criteria andStatusLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Status);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Status + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.Status + " like",
                buffer.toString(), "status");

            return this;
        }

        public Criteria andStatusNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.Status + " not like",
                buffer.toString(), "status");

            return this;
        }

        public Criteria andStatusIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.Status + " in",
                    values, "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.Status +
                    " not in", values, "status");

                return this;
            }
        }

        public Criteria andStatusIn(String[] values) {
            if (values.length == 1) {
                return andStatusEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.Status + " in",
                    Arrays.asList(values), "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(String[] values) {
            if (values.length == 1) {
                return andStatusNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.Status +
                    " not in", Arrays.asList(values), "status");

                return this;
            }
        }

        public Criteria andStatusIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Status + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andStatusNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Status + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.Status + " between",
                value1, value2, "status");

            return this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.Status +
                " not between", value1, value2, "status");

            return this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " is null");

            return this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.Remarks +
                " is not null");

            return this;
        }

        public Criteria andRemarksIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.Remarks +
                " is not null AND " + IProductModelServiceParameterDAO.Remarks +
                " <> ''");

            return this;
        }

        public Criteria andRemarksIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.Remarks +
                " is null OR " + IProductModelServiceParameterDAO.Remarks +
                " = '')");

            return this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " = ",
                value, "remarks");

            return this;
        }

        public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Remarks);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " <>",
                value, "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceParameterDAO.Remarks +
                " is null OR " + IProductModelServiceParameterDAO.Remarks +
                " <>", value, "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Remarks);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " >",
                value, "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Remarks);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " >=",
                value, "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Remarks);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " <",
                value, "remarks");

            return this;
        }

        public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Remarks);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " <=",
                value, "remarks");

            return this;
        }

        public Criteria andRemarksLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.Remarks);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.Remarks + " like",
                buffer.toString(), "remarks");

            return this;
        }

        public Criteria andRemarksNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.Remarks +
                " not like", buffer.toString(), "remarks");

            return this;
        }

        public Criteria andRemarksIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.Remarks + " in",
                    values, "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.Remarks +
                    " not in", values, "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(String[] values) {
            if (values.length == 1) {
                return andRemarksEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.Remarks + " in",
                    Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(String[] values) {
            if (values.length == 1) {
                return andRemarksNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.Remarks +
                    " not in", Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.Remarks + " between",
                value1, value2, "remarks");

            return this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.Remarks +
                " not between", value1, value2, "remarks");

            return this;
        }

        public Criteria andDataTypeIsNull() {
            addCriterion(IProductModelServiceParameterDAO.DataType +
                " is null");

            return this;
        }

        public Criteria andDataTypeIsNotNull() {
            addCriterion(IProductModelServiceParameterDAO.DataType +
                " is not null");

            return this;
        }

        public Criteria andDataTypeIsNotEmpty() {
            addCriterion(IProductModelServiceParameterDAO.DataType +
                " is not null AND " +
                IProductModelServiceParameterDAO.DataType + " <> ''");

            return this;
        }

        public Criteria andDataTypeIsEmpty() {
            addCriterion("(" + IProductModelServiceParameterDAO.DataType +
                " is null OR " + IProductModelServiceParameterDAO.DataType +
                " = '')");

            return this;
        }

        public Criteria andDataTypeEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " = ",
                value, "dataType");

            return this;
        }

        public Criteria andDataTypeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataType);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeNotEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " <>",
                value, "dataType");

            return this;
        }

        public Criteria andDataTypeNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataType +
                " is null OR " + IProductModelServiceParameterDAO.DataType +
                " <>", value, "dataType");

            return this;
        }

        public Criteria andDataTypeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataType);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeGreaterThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " >",
                value, "dataType");

            return this;
        }

        public Criteria andDataTypeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataType);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " >=",
                value, "dataType");

            return this;
        }

        public Criteria andDataTypeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataType);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeLessThan(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " <",
                value, "dataType");

            return this;
        }

        public Criteria andDataTypeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataType);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " <=",
                value, "dataType");

            return this;
        }

        public Criteria andDataTypeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceParameterDAO.DataType);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andDataTypeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.DataType + " like",
                buffer.toString(), "dataType");

            return this;
        }

        public Criteria andDataTypeNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceParameterDAO.DataType +
                " not like", buffer.toString(), "dataType");

            return this;
        }

        public Criteria andDataTypeIn(List<String> values) {
            if (values.size() == 1) {
                return andDataTypeEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataType + " in",
                    values, "dataType");

                return this;
            }
        }

        public Criteria andDataTypeNotIn(List<String> values) {
            if (values.size() == 1) {
                return andDataTypeNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataType +
                    " not in", values, "dataType");

                return this;
            }
        }

        public Criteria andDataTypeIn(String[] values) {
            if (values.length == 1) {
                return andDataTypeEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataType + " in",
                    Arrays.asList(values), "dataType");

                return this;
            }
        }

        public Criteria andDataTypeNotIn(String[] values) {
            if (values.length == 1) {
                return andDataTypeNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceParameterDAO.DataType +
                    " not in", Arrays.asList(values), "dataType");

                return this;
            }
        }

        public Criteria andDataTypeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataType + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceParameterDAO.DataType +
                " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andDataTypeBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.DataType +
                " between", value1, value2, "dataType");

            return this;
        }

        public Criteria andDataTypeNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceParameterDAO.DataType +
                " not between", value1, value2, "dataType");

            return this;
        }
    }
}
